package com.sunelec.mapper;

import com.sunelec.pojo.Inverter;
import com.sunelec.pojo.InverterExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface InverterMapper {
    int countByExample(InverterExample example);

    int deleteByExample(InverterExample example);

    int deleteByPrimaryKey(String inverterId);

    int insert(Inverter record);

    int insertSelective(Inverter record);

    List<Inverter> selectByExample(InverterExample example);

    Inverter selectByPrimaryKey(String inverterId);

    int updateByExampleSelective(@Param("record") Inverter record, @Param("example") InverterExample example);

    int updateByExample(@Param("record") Inverter record, @Param("example") InverterExample example);

    int updateByPrimaryKeySelective(Inverter record);

    int updateByPrimaryKey(Inverter record);

    List<Inverter> selectByPowerSN(String powerSN);

    Float selectDailyElec(@Param("powerSN")String powerSN, @Param("month_date")String month_date);

    Float selectMonthElec(@Param("powerSN")String powerSN, @Param("month_start")String month_start, @Param("month_end")String month_end);

    Float selectMonthCurrentPower(@Param("powerSN")String powerSN, @Param("month_start")String month_start, @Param("month_end")String month_end);

    Float selectAllElec(@Param("powerSN")String powerSN);

    int selectCurrentPower(@Param("powerSN")String powerSN, @Param("month_date")String month_date);

    int selectSumCurrentPower(@Param("powerSN")String powerSN, @Param("month_date")String month_date, @Param("time_start")String time_start, @Param("time_end")String time_end);

    int selectPowerElec(@Param("powerSN")String powerSN, @Param("month_date")String month_date, @Param("time_start")String time_start, @Param("time_end")String time_end);

    int selectCurrentPowerMonth(@Param("powerSN")String powerSN, @Param("update_date")String update_date);

    int selectPowerElecMonth(@Param("powerSN")String powerSN, @Param("update_date")String update_date);

    List<Inverter> selectCurrentPowerMonthList(@Param("powerSN")String powerSN, @Param("month_month")String month_month, @Param("start")String start, @Param("end")String end);

    List<Inverter> selectPowerElecMonthList(@Param("powerSN")String powerSN, @Param("month_month")String month_month, @Param("start")String start, @Param("end")String end);

    Inverter selectInverterByCollectorSN(@Param("collectorSn")String collectorSn);

    List<Inverter> selectCurrentPowers(@Param("collectorSn")String collectorSn);
}